Skip to content

Conversation

@Ioannis
Copy link
Contributor

@Ioannis Ioannis commented May 5, 2026 •

Configuration Level:
At the configuration level, the changes enforce data integrity by introducing an application business rule (ruleSingleValuedAttributeUnique) in EnrollmentAttributesTable. This rule prevents administrators from adding duplicate single-valued Person and Person Role attributes (such as cou_id, affiliation_type_id, title, department, organization, sponsor_person_id, manager_person_id, valid_from, and valid_through) within the same Attribute Collector plugin instance, rejecting conflicting duplicates with a localized error message.

Runtime Collection & Hydration Level:
During enrollment flow execution, the changes enable seamless cross-step attribute pre-population and preserve single Person Role consolidation. In AttributeCollectorsController and form rendering elements (field.php, fieldset-field.php), previously submitted petition values are matched by attribute name across steps, allowing subsequent Attribute Collector steps to display earlier values as editable defaults while updating Petition.cou_id deterministically for the active step. During finalization (hydrate), querying is scoped to the current step instance, and PersonRolesTable::saveAttributeCollectorPetitionAttributes() patches an existing non-pipeline PersonRole (or resolves it for role-level MVEAs) rather than creating new records on every step, guaranteeing that all Attribute Collector steps merge into exactly one unified Person Role for the enrollee.

@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch from 04aab88 to aec7633 Compare May 15, 2026 07:41
@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch 3 times, most recently from 618121b to be4d8b6 Compare September 3, 2026 13:48
@Ioannis Ioannis requested a review from benno September 3, 2026 14:04
@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch 2 times, most recently from 37716af to 44a7fe9 Compare September 9, 2026 08:02
@Ioannis
Copy link
Contributor Author

Ioannis commented Sep 9, 2026

Screenshot from 2026-09-09 12-04-42

@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch from 1bc8768 to 375d221 Compare September 13, 2026 05:16
@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch 3 times, most recently from 6f834ce to f06b08d Compare October 20, 2026 15:29
@Ioannis Ioannis force-pushed the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch from 189f989 to ceda5ae Compare October 21, 2026 14:20
Copy link
Contributor

@benno benno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had one or two other comments, but I think you may have already rewritten the code I was going to comment on.

…elector step instead of comparing collected values
@Ioannis Ioannis requested a review from benno October 22, 2026 08:44
@Ioannis
Copy link
Contributor Author

Ioannis commented Oct 22, 2026

@benno review comments addressed.

@benno benno merged commit f699a44 into COmanage:develop Oct 22, 2026
@Ioannis Ioannis deleted the CFM-324_Attribute_Collector_Enroller_Plugin_store_cou_id_in_petition branch October 22, 2026 12:53
Sign in to join this conversation on GitHub.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants